package br.gov.ms.tce.modelo.bean;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


/**
*  @class UnidadeAdministrativa
 * @author Anderson Paulino
 * @date 28/05/2011
 *
 */
@Entity
@Table(schema="comum", name="unidade_administrativa")
public class UnidadeAdministrativa implements java.io.Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 3047809422878714779L;
	private int id;
	private EsferaEnum esfera;
	private Municipio municipio;
	private String sigla;
	private String nome;
	private Integer qtdHabitante;
	private int idMunicipioSagf;

	public UnidadeAdministrativa() {
	}

	public UnidadeAdministrativa(int id, EsferaEnum esfera,
			String sigla, String nome, int idMunicipioSagf) {
		this.id = id;
		this.esfera = esfera;
		this.sigla = sigla;
		this.nome = nome;
		this.idMunicipioSagf = idMunicipioSagf;
	}

	public UnidadeAdministrativa(int id, EsferaEnum esfera,
			Municipio municipio, String sigla, String nome,
			Integer qtdHabitante, int idMunicipioSagf) {
		this.id = id;
		this.esfera = esfera;
		this.municipio = municipio;
		this.sigla = sigla;
		this.nome = nome;
		this.qtdHabitante = qtdHabitante;
		this.idMunicipioSagf = idMunicipioSagf;
	}

	
	
	/**
	 * @return Obtém o valor da propriedade id
	 */
	@Id
	@Column(name = "cod", unique = true, nullable = false)	
	public int getId() {
		return id;
	}

	/**
	 * @param id configura a propriedade id
	 */
	public void setId(int id) {
		this.id = id;
	}

	@Enumerated
	@Column(name = "cod_esfera")
	public EsferaEnum getEsfera() {
		return this.esfera;
	}

	public void setEsfera(EsferaEnum esfera) {
		this.esfera = esfera;
	}

	@ManyToOne
	@JoinColumn(name = "id_municipio")	
	public Municipio getMunicipio() {
		return this.municipio;
	}

	public void setMunicipio(Municipio municipio) {
		this.municipio = municipio;
	}

	@Column(name = "sigla", nullable = false, length = 3)
	public String getSigla() {
		return this.sigla;
	}

	public void setSigla(String sigla) {
		this.sigla = sigla;
	}

	@Column(name = "nome", nullable = false, length = 30)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "qtd_habitante")	
	public Integer getQtdHabitante() {
		return this.qtdHabitante;
	}

	public void setQtdHabitante(Integer qtdHabitante) {
		this.qtdHabitante = qtdHabitante;
	}

	@Column(name = "id_municipio_sagf", nullable = false)	
	public int getIdMunicipioSagf() {
		return this.idMunicipioSagf;
	}

	public void setIdMunicipioSagf(int idMunicipioSagf) {
		this.idMunicipioSagf = idMunicipioSagf;
	}


}
